package com.hxzy.service;

import com.hxzy.controller.mobile.order.req.SubmitOrderReq;
import com.hxzy.entity.Orders;
import com.baomidou.mybatisplus.extension.service.IService;

import java.math.BigDecimal;
import java.util.Date;

/**
* @author admin
* @description 针对表【orders(订单表)】的数据库操作Service
* @createDate 2024-02-21 11:30:41
*/
public interface OrdersService extends IService<Orders> {

    /**
     * 用户提交订单
     * @param req
     * @return
     */
    String submit(SubmitOrderReq req);

    /**
     * 根据订单号查询订单
     * @param orderNumber
     * @return
     */
    Orders getByOrderNumber(String orderNumber);

    /**
     * 支付成功，更新数据库订单状态和第三方的支付金额
     * @param orderNumber
     * @param payDate
     * @param bigDecimal
     * @param alipayTradeNo
     * @return
     */
    boolean updatePayStatusByOrderId(String orderNumber, Date payDate, BigDecimal bigDecimal, String alipayTradeNo);

    /**
     * 支付不成功，取消订单
     * @param outTradeNo
     * @return
     */
    boolean cancelCheckOutTime(String outTradeNo);
}
